#include<iostream>
#include<algorithm>
using namespace std;

int n,m,cnt;
int dp[100][100];
//void dfs(int k,int step)
//{
//	if(k>n)
//		k-=n;
//	else if(k==0)
//		k=n;
//	if(step==m)
//	{
//		if(k==1)
//			cnt++;
//		return ;
//	}
//	dfs(k+1,step+1);
//	dfs(k-1,step+1);
//}
int main()
{
	cin>>n>>m;
	dp[0][1]=1;
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(j==1)
				dp[i][j]=dp[i-1][n]+dp[i-1][j+1];
			else if(j==n)
				dp[i][j]=dp[i-1][j-1]+dp[i-1][1];
			else
				dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1];
		}
	}
	cout<<dp[m][1]<<endl;
    return 0;
}
